home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 24 / AMIGAplus Sonderheft 24 (2000)(Falke)(DE)[!].iso / PublicDomain / Anwendungen / MT-RechnungIII / Rexx / Import_DFA.rexx < prev    next >
OS/2 REXX Batch file  |  1998-07-29  |  7KB  |  248 lines

  1. /*
  2. ** Importieren von selektierten DFA-Adressen in MT-RechnungIII
  3. ** $VER: Import_DFA.rexx V1.01 (29.07.98)
  4. */
  5.  
  6. PARSE ARG ARexxPort;
  7.  
  8. ADDRESS VALUE ARexxPort;
  9. OPTIONS RESULTS;
  10.  
  11. LF                    = '0a'x;                            /* Zeilenvorschub                */
  12.  
  13. RC = 0;
  14.  
  15. /* Oberfläche sperren */
  16. LOCKGUI;
  17.  
  18. IF ~show(ports, DFA) THEN
  19.     DO;
  20.         ES_TITLE                = "Warnung";
  21.         ES_TEXTFORMAT        = "DFA ist nicht aktiv, bitte starten sie dieses" || LF || "und versuchen Sie es erneut";
  22.         ES_GADGETFORMAT    = "Abbrechen";
  23.         EASY_REQUEST;
  24.         RC = 1;
  25.     END;
  26.  
  27. IF RC = 0 THEN
  28.     DO;
  29.         ES_TITLE                = "Achtung!!!!";
  30.         ES_TEXTFORMAT        = "Es werden alle selektierten" || LF || "Adressen aus DFA importiert!" || LF || LF;
  31.         ES_TEXTFORMAT        = ES_TEXTFORMAT || "Es erfolgt keine Prüfung, ob" || LF ||  "die Adressen bereits in MT-" || LF || "RechnungIII existieren" || LF || LF;
  32.         ES_TEXTFORMAT        = ES_TEXTFORMAT || "Wollen Sie trotzdem fortfahren?";
  33.         ES_GADGETFORMAT    = "Ok|Abbrechen";
  34.         EASY_REQUEST;
  35.         IF MTR_RESULT = 0 THEN
  36.             DO;
  37.                 FREEGUI;
  38.                 EXIT;
  39.             END;
  40.         /* Länder einlesen */
  41.         NUMBER_COUNTRY;
  42.         AnzLaender = MTR_RESULT;
  43.  
  44.         DO i = 1 to AnzLaender;
  45.             GET_COUNTRY i;
  46.             Land.Name.i = COUNTRY.NAME;
  47.             DO j = 0 TO 63;
  48.                 Land.Bundesland.i.j = COUNTRY.STATE.j;
  49.             END;
  50.         END;
  51.  
  52.         ADDRESS 'DFA';
  53.         FIRST STEM DFA.
  54.  
  55.         IF DFA.ADDRESS.24 = 0 THEN
  56.             NEXTSEL STEM DFA.
  57.  
  58.         DO WHILE RC = 0;
  59.             ADDRESS VALUE ARexxPort;
  60.             NEW_ADDRESS;
  61.             MTR_Adressnummer = MTR_RESULT;
  62.             SELECT;
  63.                 WHEN DFA.ADDRESS.0 = "Fräulein" THEN
  64.                     DO;
  65.                         ADDRESS.SALUTATION = 1;
  66.                     END;
  67.                 WHEN DFA.ADDRESS.0 = "Frau" THEN
  68.                     DO;
  69.                         ADDRESS.SALUTATION = 2;
  70.                     END;
  71.                 WHEN DFA.ADDRESS.0 = "Herr" THEN
  72.                     DO;
  73.                         ADDRESS.SALUTATION = 3;
  74.                     END;
  75.                 WHEN DFA.ADDRESS.0 = "Familie" THEN
  76.                     DO;
  77.                         ADDRESS.SALUTATION = 4;
  78.                     END;
  79.                 OTHERWISE
  80.                     DO;
  81.                         ADDRESS.SALUTATION = 0;
  82.                     END;
  83.             end;
  84.             ADDRESS.PRENAME        = DFA.ADDRESS.1;
  85.             ADDRESS.SURNAME        = DFA.ADDRESS.2;
  86.             ADDRESS.STREET            = DFA.ADDRESS.4;
  87.             ADDRESS.ZIP                = DFA.ADDRESS.5;
  88.             ADDRESS.CITY            = DFA.ADDRESS.6;
  89.  
  90.             SELECT;
  91.                 WHEN DFA.ADDRESS.8    = "Germany" | DFA.ADDRESS.8 = "" THEN
  92.                     DFA.ADDRESS.8        = "Deutschland";
  93.                 WHEN DFA.ADDRESS.8    = "Austria" THEN
  94.                     DFA.ADDRESS.8        = "Österreich";
  95.                 WHEN DFA.ADDRESS.8    = "Swiss" THEN
  96.                     DFA.ADDRESS.8        = "Schweiz";
  97.                 OTHERWISE
  98.                     NOP;
  99.             END;
  100.             j = 0;
  101.             DO i = 1 to AnzLaender WHILE(j = 0);
  102.                 IF DFA.ADDRESS.8 = Land.Name.i THEN
  103.                 j = i;
  104.             END;
  105.             IF j = 0 THEN
  106.                 DO;
  107.                     NEW_COUNTRY;
  108.                     AnzLaender = MTR_RESULT;
  109.                     i = AnzLaender;
  110.                     COUNTRY.NAME        = DFA.ADDRESS.8;
  111.                     SELECT;
  112.                         WHEN COUNTRY.NAME = "Deutschland" THEN
  113.                             DO;
  114.                                 COUNTRY.SYMBOL                    = "D-";
  115.                                 COUNTRY.PHONE_HOME            = "0";
  116.                                 COUNTRY.PHONE_FOREIGN        = "00";
  117.                                 COUNTRY.PHONE_FROMFOREIGN    = "49";
  118.                                 COUNTRY.STATE.0                = "Baden-Würtemberg"
  119.                                 COUNTRY.STATE.1                = "Bayern";
  120.                                 COUNTRY.STATE.2                = "Berlin";
  121.                                 COUNTRY.STATE.3                = "Brandenburg";
  122.                                 COUNTRY.STATE.4                = "Bremen";
  123.                                 COUNTRY.STATE.5                = "Hamburg";
  124.                                 COUNTRY.STATE.6                = "Hessen";
  125.                                 COUNTRY.STATE.7                = "Mecklenburg-Vorpommern";
  126.                                 COUNTRY.STATE.8                = "Niedersachsen";
  127.                                 COUNTRY.STATE.9                = "Nordrhein-Westfalen";
  128.                                 COUNTRY.STATE.10                = "Rheinland-Pfalz";
  129.                                 COUNTRY.STATE.11                = "Saarland";
  130.                                 COUNTRY.STATE.12                = "Sachsen";
  131.                                 COUNTRY.STATE.13                = "Sachsen-Anhalt";
  132.                                 COUNTRY.STATE.14                = "Schleswig-Holstein";
  133.                                 COUNTRY.STATE.15                = "Thüringen";
  134.                             END;
  135.                         WHEN COUNTRY.NAME = "Österreich" THEN
  136.                             DO;
  137.                                 COUNTRY.SYMBOL                    = "A-";
  138.                                 COUNTRY.PHONE_HOME            = "0";
  139.                                 COUNTRY.PHONE_FOREIGN        = "00";
  140.                                 COUNTRY.PHONE_FROMFOREIGN    = "43";
  141.                                 COUNTRY.STATE.0                = "Burgenland"
  142.                                 COUNTRY.STATE.1                = "Kärnten";
  143.                                 COUNTRY.STATE.2                = "Niederösterreich";
  144.                                 COUNTRY.STATE.3                = "Oberösterreich";
  145.                                 COUNTRY.STATE.4                = "Salzburg";
  146.                                 COUNTRY.STATE.5                = "Steiermark";
  147.                                 COUNTRY.STATE.6                = "Tirol";
  148.                                 COUNTRY.STATE.7                = "Vorarlberg";
  149.                                 COUNTRY.STATE.8                = "Wien";
  150.                             END;
  151.                         WHEN COUNTRY.NAME = "Schweiz" THEN
  152.                             DO;
  153.                                 COUNTRY.SYMBOL                    = "CH-";
  154.                                 COUNTRY.PHONE_HOME            = "0";
  155.                                 COUNTRY.PHONE_FOREIGN        = "00";
  156.                                 COUNTRY.PHONE_FROMFOREIGN    = "41";
  157.                                 COUNTRY.STATE.0                = "Aargau"
  158.                                 COUNTRY.STATE.1                = "Appenzell Außer-Rhoden";
  159.                                 COUNTRY.STATE.2                = "Appenzell Inner-Rhoden";
  160.                                 COUNTRY.STATE.3                = "Basel-Land";
  161.                                 COUNTRY.STATE.4                = "Basel-Stadt";
  162.                                 COUNTRY.STATE.5                = "Bern";
  163.                                 COUNTRY.STATE.6                = "Freiburg";
  164.                                 COUNTRY.STATE.7                = "Genf";
  165.                                 COUNTRY.STATE.8                = "Glarus";
  166.                                 COUNTRY.STATE.9                = "Graubünden";
  167.                                 COUNTRY.STATE.10                = "Luzern";
  168.                                 COUNTRY.STATE.11                = "Neuenburg";
  169.                                 COUNTRY.STATE.12                = "Sankt Gallen";
  170.                                 COUNTRY.STATE.13                = "Schaffhausen";
  171.                                 COUNTRY.STATE.14                = "Schwyz";
  172.                                 COUNTRY.STATE.15                = "Solothurn";
  173.                                 COUNTRY.STATE.16                = "Tessin";
  174.                                 COUNTRY.STATE.17                = "Thurgau";
  175.                                 COUNTRY.STATE.18                = "Unterwalden Nidwalden";
  176.                                 COUNTRY.STATE.19                = "Unterwalden Obwalden";
  177.                                 COUNTRY.STATE.20                = "Uri";
  178.                                 COUNTRY.STATE.21                = "Waadt";
  179.                                 COUNTRY.STATE.22                = "Wallis";
  180.                                 COUNTRY.STATE.23                = "Zug";
  181.                                 COUNTRY.STATE.24                = "Zürich";
  182.                             END;
  183.                         OTHERWISE
  184.                             COUNTRY.STATE.0    = DFA.ADDRESS.7;
  185.                     END;
  186.                     Land.Name.i = COUNTRY.NAME;
  187.                     x = 0;
  188.                     DO j = 0 TO 63;
  189.                         Land.Bundesland.i.j = COUNTRY.STATE.j;
  190.                         IF Land.Bundesland.i.j = DFA.ADDRESS.7 THEN
  191.                             x = j;
  192.                     END;
  193.                     SET_COUNTRY AnzLaender;
  194.                     ADDRESS.COUNTRY_NUMBER    = AnzLaender - 1;
  195.                     ADDRESS.STATE_NUMBER        = x;
  196.                 END;
  197.             ELSE
  198.                 DO;
  199.                     ADDRESS.COUNTRY_NUMBER    = j - 1;
  200.                     IF DFA.ADDRESS.7        > "" THEN
  201.                         DO;
  202.                             x = -1;
  203.                             DO i = 0 TO 63 WHILE( x = -1);
  204.                                 IF Land.Bundesland.j.i = DFA.ADDRESS.7 THEN
  205.                                     x = i;
  206.                             END;
  207.                             IF x = -1 THEN
  208.                                 DO;
  209.                                     GET_COUNTRY j;
  210.                                     Land.Name.j = COUNTRY.NAME;
  211.                                     DO i = 63 TO 0 BY -1
  212.                                         Land.Bundesland.j.i    = COUNTRY.STATE.i;
  213.                                         IF COUNTRY.STATE.i    = "" THEN
  214.                                             x = i;
  215.                                     END;
  216.                                     COUNTRY.STATE.x        = DFA.ADDRESS.7
  217.                                     SET_COUNTRY j;
  218.                                 END;
  219.                             ADDRESS.STATE_NUMBER    = x;
  220.                         END;
  221.                 END;
  222.  
  223.             IF LENGTH(DFA.ADDRESS.9) = 10 THEN
  224.                 ADDRESS.BIRTHDAY    = SUBSTR(DFA.ADDRESS.9, 7, 4) || SUBSTR(DFA.ADDRESS.9, 4, 2) || SUBSTR(DFA.ADDRESS.9, 1, 2);
  225.             ELSE IF LENGTH(DFA.ADDRESS.9) = 8 THEN
  226.                 ADDRESS.BIRTHDAY    = "19" || SUBSTR(DFA.ADDRESS.9, 7, 2) || SUBSTR(DFA.ADDRESS.9, 4, 2) || SUBSTR(DFA.ADDRESS.9, 1, 2);
  227.  
  228.             ADDRESS.PHONE            = DFA.ADDRESS.10;
  229.             ADDRESS.FAX                = DFA.ADDRESS.11;
  230.             ADDRESS.EMAIL.0        = DFA.ADDRESS.12;
  231.             ADDRESS.EMAIL.1        = DFA.ADDRESS.13;
  232.             ADDRESS.EMAIL.2        = DFA.ADDRESS.14;
  233.  
  234.             ADDRESS.ADDITIONAL_TEXT    = DFA.ADDRESS.15;
  235.  
  236.             SET_ADDRESS MTR_Adressnummer;
  237.  
  238.             ADDRESS 'DFA';
  239.             NEXTSEL STEM DFA.
  240.         END;
  241.     END;
  242.  
  243. /* Oberfläche freigeben */
  244. ADDRESS VALUE ARexxPort;
  245. FREEGUI;
  246.  
  247. EXIT;
  248.